package com.lin.generator;

import com.lin.model.MainTemplateConfig;
import freemarker.template.TemplateException;

import java.io.File;
import java.io.IOException;

public class MainGenerator {
    public static void main(String[] args) throws TemplateException, IOException {
        // 1： 先复制所有的文件包括静态和动态文件
        StaticGenerator.StaticFileGenerator();
        // 2： 再覆盖动态文件
        String property = System.getProperty("user.dir");//D:\Code-Generate\code-generate
        MainTemplateConfig mainTemplateConfig = new MainTemplateConfig();
        mainTemplateConfig.setAuthor("lin");
        mainTemplateConfig.setLoop(true);
        mainTemplateConfig.setOutput("求和结果是");
        String inputDynamicGeneratorFile = property + File.separator + "lin-code-generate-basic/src/main/resources/templates/MainTemplate.java.ftl";
        String outputDynamicGeneratorFile = property + File.separator + "acm-template/src/com/lin/acm/MainTemplate.java";
        DynamicGenerator.DynamicFileGenerator(inputDynamicGeneratorFile,outputDynamicGeneratorFile,mainTemplateConfig);
    }
    public static void doGenerator(MainTemplateConfig mainTemplateConfig) throws TemplateException, IOException {
        // 1： 先复制所有的文件包括静态和动态文件
        StaticGenerator.StaticFileGenerator();
        // 2： 再覆盖动态文件
        String property = System.getProperty("user.dir");//D:\Code-Generate\code-generate
        String inputDynamicGeneratorFile = property + File.separator + "/src/main/resources/templates/MainTemplate.java.ftl";
        String outputDynamicGeneratorFile = property + File.separator + "acm-template/src/com/lin/acm/MainTemplate.java";
        DynamicGenerator.DynamicFileGenerator(inputDynamicGeneratorFile,outputDynamicGeneratorFile,mainTemplateConfig);
    }
}
